From 9a61ad67506e53c7df34feaf30585ebf01ef0c28 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Wed, 28 Nov 2012 10:03:51 +0100 Subject: [PATCH] ACPI: fix return value of XEN_PM_PDC platform op Should return -EFAULT when copying to guest memory fails. Once touching this code, also switch to using the more relaxed copy function (copying from the same guest memory already validated the virtual address range). Signed-off-by: Jan Beulich Acked-by: Keir Fraser --- xen/drivers/acpi/pmstat.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/drivers/acpi/pmstat.c b/xen/drivers/acpi/pmstat.c index bf30cc729a..f8a9c85eb9 100644 --- a/xen/drivers/acpi/pmstat.c +++ b/xen/drivers/acpi/pmstat.c @@ -521,8 +521,8 @@ int acpi_set_pdc_bits(u32 acpi_id, XEN_GUEST_HANDLE_PARAM(uint32) pdc) ACPI_PDC_SMP_C1PT) & ~mask; ret = arch_acpi_set_pdc_bits(acpi_id, bits, mask); } - if ( !ret ) - ret = copy_to_guest_offset(pdc, 2, bits + 2, 1); + if ( !ret && __copy_to_guest_offset(pdc, 2, bits + 2, 1) ) + ret = -EFAULT; return ret; } -- 2.30.2